Storage technology has been on an aggressive trajectory of minimization with hardware and related devices coinciding with an explosive growth in memory capacity. Not only has hardware become smaller and more streamlined, hardware has become more complex and diversified. The once stationary “all-in-one” gigantic machines that dominated computing have diversified to include modular components with high mobility. This is evidenced by mobile storage media adapted to insert into a drive device connected to a computing system for use by an end user.
Modern computing systems generally function by means of an operating system, of which there is a variety, acting as framework for staging the functionality of all other programs. Because hardware devices used with computing systems are themselves becoming more sophisticated with specialized functionality, they require compatible programs to work with the computer's operating system. These programs, typically called drivers, enable computers to cooperate with hardware devices as needed. In addition to drivers, hardware devices often require software programs, typically called firmware, to control their own specialized functionality.
Both drivers and, to a greater extent, firmware are subject to changes which are generally designed to improve the operability of the hardware device. For example, hardware devices such as drives for use with mobile media need to read and write data to the media on behalf of requests from the computing system. The media may have unique data format layouts or compressed data for optimizing data space on the media that are specific to the drive device. In this scenario, the drive device may need special software for use with the media. Additionally, the drive may have motors and actuators, specialized heads, calibrating schemes, etc., that are controlled by firmware in the drive device in order to make the reading and writing of data from the media simple and transparent to the computing system.
Generally, software such as drivers and firmware are loaded or updated by dedicated read only methods. This has been done to prevent an end user from altering or damaging the software. Software used in these applications include “burned” read only CD's, DVD's or other optical recording media, read only updates found at sites on the internet, and other read only mobile media, just to name a few. In some cases, a user may load software onto mobile media for use as described, but that software may be subject to accidental erasure or if “burned” onto a media, and a user only has read access from there on out.
As described above, there are various techniques to transfer software such as drivers and firmware to hardware devices. It is to improvements related to this subject matter that the claimed invention is generally directed.